package com.seari.scheduling.plan;
//package com.seari.scheduling.plan;
//
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.Iterator;
//import java.util.List;
//import java.util.Map;
//import java.util.Map.Entry;
//
//import org.springframework.beans.factory.annotation.Autowired;
//
//import com.alibaba.fastjson.JSON;
//import com.seari.bean.PersonInfoBean;
//import com.seari.bean.PostInfoBean;
//import com.seari.bean.ReqPlanShiftBean;
//import com.seari.service.PerSonInfoService;
//
//
//public abstract class PlanScheduClass
//{
//	
//	@Autowired
//	PerSonInfoService perSonInfoService;
//	
//	public abstract List<PersonInfoBean> planScheduling(ReqPlanShiftBean bean,List<PersonInfoBean> pesonInfo);
//	
//	public void renderPlanScheduling(ReqPlanShiftBean bean) {
//		List<PersonInfoBean> perSonInfoList = perSonInfoService.fetchPerSonInfoList();
//		
//		Map<String,List<PersonInfoBean>> te = new HashMap<>();
//		for (PersonInfoBean personInfoBean : perSonInfoList)
//		{
//			if(te.containsKey(personInfoBean.getPostInfo())) {
//				te.get(personInfoBean.getPostInfo()).add(personInfoBean);
//			}else {
//				List<PersonInfoBean> list = new  ArrayList<>();
//				list.add(personInfoBean);
//				te.put(personInfoBean.getPostInfo(), list);
//			}
//		}
//		
//		Iterator<Entry<String, List<PersonInfoBean>>> iterator = te.entrySet().iterator();
//		while (iterator.hasNext())
//		{
//			Entry<String, List<PersonInfoBean>> next = iterator.next();
//			List<PersonInfoBean> value = next.getValue();
//			String type = value.get(0).getShift();
//			switch (type)
//			{
//			case "fourClass":
//				PlanScheduClass fourClassInstance = new PlanFourClass();
//				List<PersonInfoBean> fourClassData = fourClassInstance.planScheduling(bean, value);
//				next.setValue(fourClassData);
//				String fourClassDataJson = JSON.toJSONString(next);
//				System.out.println(fourClassDataJson);
//				break;
//				
//			case "monMid":
//				PlanScheduClass monMidClassinstance = new PlanMonMidClass();
//				List<PersonInfoBean> monMidData = monMidClassinstance.planScheduling(bean, value);
//				next.setValue(monMidData);
//				String monMidDataJson = JSON.toJSONString(next);
//				System.out.println(monMidDataJson);
//				break;
//			
//			case "monNig":
//				PlanScheduClass monNigClassinstance = new PlanMonNigClass();
//				List<PersonInfoBean> monNigData = monNigClassinstance.planScheduling(bean, value);
//				next.setValue(monNigData);
//				String monNigDataJson = JSON.toJSONString(next);
//				System.out.println(monNigDataJson);
//				break;
//			default:
//				break;
//			}
//			
//		}
//	}
//}
